/**
 * @file   Chicken.h
 * @author itolfy <euntilofy@gmail.com>
 * @date   Sat Jul  8 14:04:02 2023
 * 
 * @brief  This is a class about Chicken.
 * 
 * 
 */

#include <iostream>

/**
 * Color for chicks!
 * 
 */
enum Color {
    RED,			/**< red color. */
    GREEN,			/**< greem color. */
    BLUE			/**< bule color. */
};

/**
 * Chick is a kind of powerful animal.
 * 
 */
class Chicken
{
private:
    int age;        /**< The age of a chick. */
    double weight;		/**< The weight of a chick. */
    Color color;		/**< The color of a chick. */
    int ID;			/**< Every chick has a ID no. */
    bool sex;        /**< The sex of a chick. 1 for rooster and 0 for hen. */
public:
    /** 
     * Construct a duck.
     * 
     * @param _w to set the weight.
     * @param _c to set the color.
     * @param _I to set the ID.
     * @param _a to set the age.
     * @param _s to set the sex.
     */
    Chicken(double _w, Color _c, int _I, int _a, bool _s) : weight(_w), color(_c), ID(_I), age(_a), sex(_s) {};

    /** 
     * Long live the chick!
     * 
     */
    ~Chicken() {
	    std::cout << "Chick will return sonner or later" << std::endl;
    };

    /** 
     * Even a chick will sing...
     * 
     */
    void sing () {
        if(sex == 1) std::cout << "Ooooooo!" << std::endl;
        else std::cout << "Gegegegege~" << std::endl;
    };
};
